package zheezes.util;

public interface Sleepable {
	public static final int TIMEOUT = -1; // wake because clock timeout
	public static final int WAKEN = 1; // wake because was waken
	public static final int INTRED = 2; // Interrupted system call
	
	public int asleep();

	public int asleep(int msec);

	public void wakeup();

	public void wakeup(Object message);
	
	public void waken();
	
	public Object getMessage();
	
	public void clearMailbox();
}
